package com.gxc.array;

import java.util.Arrays;
import java.util.Scanner;

/**
 * 部门组织绿岛骑行团建活动。租用公共双人自行车，每辆自行车最多坐两人，最大载重M。
 * 给出部门每个人的体重，请问最多需要租用多少双人自行车。
 *
 * 输入描述
 * 第一行两个数字m、n，分别代表自行车限重，部门总人数。
 *
 * 第二行，n个数字，代表每个人的体重，体重都小于等于自行车限重m。
 *
 * 0<m<=200
 * 0<n<=1000000
 * 输出描述
 * 最小需要的双人自行车数量
 */
public class MinBikes {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int m = scanner.nextInt();
        int n = scanner.nextInt();
        String str = scanner.nextLine();
        int[] array = Arrays.stream(scanner.nextLine().split(" " )).mapToInt(Integer::parseInt).toArray();
        scanner.close();

        Arrays.sort(array);
        int l = 0, r = n -1;
        int res = 0;
        while (l<=r) {
            if (array[l] + array[r] > m) {
            } else {
                l++;
            }
            res++;
            r--;
        }
        System.out.println(res);
    }
}
